/*
 * Copyright 2004-2005 asoft
 * 本软件及其所有拷贝的名称，与光盘上或本软件中注明的公司同在。
 * 本软件及文档享有版权，并受国家版权法及国际协约条款的保护。
 * 您不可以从本软件中去掉其版权声明；并保证为本软件的拷贝（本部或部分）* 复制版权声明。
 * 您同意制止以任何形式非法拷贝本软件及文档。
 * 版权信息参见：
 *      http://www.asoft.cn/licenses
 */

package com.asoft.common.base.web.service;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;



/**
 * 查询服务
 *
 */

public abstract class AbstractFindService extends TempletService
{
        static Logger logger = Logger.getLogger(AbstractFindService.class);

        // 从request.getParameter里面取值,当值为null或者""时候返回默认值
        public String getValueFromRequestParameter(HttpServletRequest request,
                                                   String key,
                                                   String defaultValue)
        {
                String value = request.getParameter(key);
                if(value == null || value.equals(""))
                {
                        logger.debug(key + " : " + defaultValue);
                        return defaultValue;
                }
                else
                {
                        logger.debug(key + " : " + value);
                        return value;
                }
        }
        
        // 从request.getParameter里面取值,当值为null或者""时候返回默认值"%"
        public String getValueFromRequestParameter(HttpServletRequest request,
                                                   String key)
        {
                return this.getValueFromRequestParameter(request,key,"%");
        }
        
        // 取得日期型
        public Timestamp getTimestampFromRequestParameter(HttpServletRequest request,
                                                          String key,
                                                          String par,
                                                          Timestamp defaultTime)
        {
                Timestamp t;
                SimpleDateFormat sform = new SimpleDateFormat(par);
                try
                {
                        t = new Timestamp(sform.parse(request.getParameter(key)).getTime());
                } 
                catch (Exception e)
                {
                        logger.error("格式化" + request.getParameter(key) + " 成Timestamp失败：" + e.toString());
                        t = defaultTime;
                }
                logger.debug(key + " : " + t);
                return t;
                
        }
        
        // 取得日期型,默认返回当前时间
        public Timestamp getTimestampFromRequestParameter(HttpServletRequest request,
                                                          String key,
                                                          String par)
        {
                return this.getTimestampFromRequestParameter(request,key,par,new Timestamp(System.currentTimeMillis()));
        }
}
